This invention relates generally to computer input events, and more particularly to synthesizing such events.
Computers today typically come with one or more input devices to enable users to input data into the computer. Such input devices include joysticks, mouses, and keyboards. An input event is thus a specific utilization of an input device. For example, moving the mouse, pressing a key on the keyboard, and clicking a button on the joystick, are all specific utilizations of input devices, and therefore are all input events.
While the use of input devices for computers make them easier to use, they are still nevertheless not necessarily the most intuitive manner by which computer input can be achieved. For example, computer games in which a player must navigate through a three-dimensional (3D) terrain may have their life-like quality marred by the fact that the player must utilize a joystick or a mouse (i.e., two-dimensional devices) to signal to the computer in which direction movement in three dimensions is desired. In other words, the use of input devices such as joysticks, computer mouses and keyboards may not be the most natural user interface for achieving computer input.
Therefore, there is a need for other methods by which computer input can be realized. Such other methods of input should be more intuitive than typical computer input devices allow. Perceptual user interfaces that user computer vision tracking of the user or users and speech recognition can provide for more intuitive computer input.
The invention relates to synthesizing computer input events. In one embodiment, a computerized system includes a sensor, a controller, a utility and an application. The sensor detects external events, such as audio events (e.g., speech or sounds as detected by a microphone) and video events (e.g., head movement of a user as detected by a video camera). The controller generates control variables in response to these external events. The utility then synthesizes input events, such as joystick, mouse, and keyboard events, from the control variables. The application thus utilizes these input events, as if they emanated from an input device such as a joystick, mouse or keyboard, itself. In addition to this embodiment, the invention includes other embodiments, including computerized systems, methods, computers, and computer-readable media of varying scope.